目录一、pair1.1pair的定义和结构1.2pair的嵌套1.3pair自带排序规则1.4代码示例 二、vector2.1vector的定义和特性2.2vector的初始化一维初始化:2.3vector的常用函数2.4vector排序去重排序:去重:示例:一、pair1.1pair的定义和结构在C++中,pair是一个模板类,用于一对值的组合。它位于头文件中。pair类的定义如下:templatestructpair{ T1fiest;//第一个值 T2second;//第二个值 //构造函数 pair(); pair(constT1&x,constT2&y); //比较运算符重载 boo
一.STL1.STL可分为六个部分: 容器(containers) 特殊的数据结构,实现了数组、链表、队列、等等,实质是模板类 迭代器(iterators) 一种复杂的指针,可以通过其读写容器中的对象,实质是运算符重载 算法(algorithms) 读写容器对象的逻辑算法:排序、遍历、查找、等等,实质是模板函数 空间配置器(allocator) 容器的空间配置管理的模板类 配接器(adapters) 用来修饰容器、仿函数、迭代器接口 仿函数(functors) 类似函数,通过重载()运算符来模拟函数行为的类1、组件间的关系 containe
文章目录一、函数对象与谓词1、一元函数对象2、"谓词"概念3、find_if查找算法二、一元谓词示例1、代码示例-一元谓词示例2、执行结果一、函数对象与谓词1、一元函数对象"函数对象"是通过重载函数调用操作符()实现的operator(),函数对象可以像普通函数一样被调用,但同时它们还可以拥有状态并且可以有多个成员函数;"一元函数对象"是函数对象的一种,只接受一个参数并返回某个结果的函数对象称为"一元函数对象";"一元函数对象"在标准模板库(STL,StandardTemplateLibrary)中特别常见,尤其是在STL算法中,因为它们可以用作自定义操作,以适应各种不同的需求;例如:使用一元
文章目录C/C++笔试练习选择部分(1)sort是不稳定排序(2)存放即有序的STL容器(3)连续储存的STL容器(4)vector的特性(5)一级容器(6)unordered_map和priority_queue的底层(7)迭代器失效(8)异常捕获(9)动态转换(10)多态的实现编程题day18统计每个月兔子的总数字符串通配符C/C++笔试练习选择部分(1)sort是不稳定排序 以下关于STL的描述中,()是错的 A.STL容器是线程不安全的 B.当容量不够时,STL的一个典型实现是vector内部内存扩展方式为翻倍 C.std::sort是稳定排序 D.std::bitset不是
快乐的流畅:个人主页个人专栏:《C语言》《数据结构世界》《进击的C++》远方有一堆篝火,在为久候之人燃烧!文章目录引言一、成员变量二、默认成员函数2.1constructor2.2destructor2.3copyconstructor2.4operator=三、迭代器3.1begin3.2end四、元素访问4.1operator[]五、容量5.1size5.2capacity5.3reserve5.4resize5.5empty六、修改6.1push_back6.2pop_back6.3insert6.4erase6.5swap总结引言关于STL容器的学习,我们来到了运用最广泛、最常见的ve
文章目录一、元素复制算法-copy函数1、函数原型分析2、代码示例二、元素替换算法-replace函数1、函数原型分析2、代码示例三、替换符合要求的元素算法-replace_if函数1、函数原型分析2、代码示例一、元素复制算法-copy函数1、函数原型分析在C++语言的标准模板库(STL,STLStandardTemplateLibrary)中,提供了copy元素复制算法函数用于将一个容器中的元素复制到另外一个容器中;copy元素赋值函数将输入容器的[起始迭代器,终止迭代器)范围内的元素复制到输出序列中,从输出容器的指定开始位置迭代器开始存放被复制过来的元素;复制元素操作完成后,输出容器中对应
STL之vector容器的介绍与模拟实现1.vector简介2.vector容器使用2.1vectord定义2.2vectoriterator的使用2.3vector空间增长问题2.4注意事项3.vector功能模拟实现3.1架构搭建3.2空间控制板块3.3迭代器3.4增加/删除数据3.5运算符重载3.6构造/析构4.整体代码所属专栏:C“嘎嘎"系统学习❤️🚀>博主首页:初阳785❤️🚀>代码托管:chuyang785❤️🚀>感谢大家的支持,您的点赞和关注是对我最大的支持!!!❤️🚀>博主也会更加的努力,创作出更优质的博文!!❤️1.vector简介vector的文档介绍vector是表示可变
1、list介绍1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2.list的底层是带头双向循环链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。3.list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。4.与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。5.与其他序列式容器相比,list和forward_list最大的缺陷是不支持任意位置的随机访问,比
STL标准库与泛型编程(侯捷)本文是学习笔记,仅供个人学习使用。如有侵权,请联系删除。参考链接Youbute:侯捷-STL标准库与泛型编程B站:侯捷-STLGithub:STL源码剖析中源码https://github.com/SilverMaple/STLSourceCodeNote/tree/masterGithub:课程ppt和源码https://github.com/ZachL1/Bilibili-plus文章目录STL标准库与泛型编程(侯捷)介绍20RBtree深度探索21set、multiset深度探索22map、multimap深度探索23hashtable深度探索(上)24ha
文章目录引言一、成员变量二、默认成员函数2.1constructor2.2copyconstructor2.3destructor2.4operator=三、迭代器3.1begin3.2end四、元素访问4.1operator[]五、容量5.1size5.2capacity5.3reserve5.4resize六、修改6.1push_back6.2append6.3operator+=6.4insert6.5erase6.6swap6.7clear七、操作7.1c_str7.2find八、非成员函数8.1relationaloperators8.2operator8.3operator>>总结